package com.jmb.api.model.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.util.Date;

import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
import lombok.Data;

/**
 * 
 * @TableName api_test_assert
 */
@TableName(value ="api_test_assert")
@Data
public class ApiTestAssert extends BaseEntity {
    /**
     * 断言编号
     */
    @TableId(value = "assert_id", type = IdType.AUTO)
    private Integer assertId;

    /**
     * 断言名称
     */
    @NotBlank(message = "断言名称不能为空")
    @TableField(value = "assert_name")
    private String assertName;

    /**
     * 用例编号
     */
    @NotNull(message = "用例编号不能为空")
    @TableField(value = "case_id")
    private Integer caseId;

    /**
     * 提取数据类型   0json/1html/2header/3responsecode/4runtime
     */
    @NotNull(message = "提取数据类型不能为空")
    @TableField(value = "type")
    private Integer type;

    /**
     * 提取表达式
     */
    @NotBlank(message = "提取表达式不能为空")
    @TableField(value = "expression")
    private String expression;

    /**
     * 操作符0/=、1/< 、2/>、3/<=、4/>=、5/in、6/!=、7/re、8/isNull、9/notNull、10/contains、11/isEmpty、12/isNotEmpty
     */
    @NotNull(message = "操作符不能为空")
    @TableField(value = "operator")
    private Integer operator;

    /**
     * 预期结果
     */
    @NotBlank(message = "预期结果不能为空")
    @TableField(value = "excepted_result")
    private String exceptedResult;

    /**
     * 排序 执行断言时按照该字段排序
     */
    @NotNull(message = "排序不能为空")
    @TableField(value = "order_id")
    private Integer orderId;
}